from abc import ABC, abstractclassmethod, abstractmethod


class Source(ABC):
    @abstractclassmethod
    def check() -> bool:
        ...

    @abstractmethod
    def hello():
        ...


pool = []


def register(pool):
    def inner(cls):
        nonlocal pool
        pool.append(cls)
        return cls

    return inner


@register(pool)
class _(Source):
    @classmethod
    def check():
        return True

    def hello():
        print('hello')


print(pool)
